package link;

import com.sun.org.apache.bcel.internal.generic.FADD;

import java.util.HashSet;
import java.util.Set;

/**
 * 给你两个单链表的头节点 headA 和 headB ，请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点，返回 null 。
 */
public class leetCode160_getIntersectionNode {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA == null || headB == null) return null;
        ListNode tmp1 = headA;
        ListNode tmp2 = headB;

        while (tmp1 != tmp2){
            tmp1 = tmp1 == null ? headB : tmp1.next;
            tmp2 = tmp2 == null ? headA : tmp2.next;
        }
        return tmp1;
    }


    public static class ListNode {
        int val;
        ListNode next;
        ListNode(int x) {
            val = x;
            next = null;
        }
    }
}
